Virtualization technology that allows one or more virtual computers (also called virtual machines) to be run on a physical computer is presently being used in the field of information processing. Each virtual machine is run by an operating system (OS). For example, software (also called a hypervisor) that allocates computer resources such as a central processing unit (CPU) and a random access memory (RAM) to the virtual machines is executed on a computer that runs one or more virtual machines. The operating system of each virtual machine control application program scheduling and the like within the scope of the allocated resources.
Recently, services are being used that rent out rights to use computer resources to users and bill the users according to usage conditions such as the amount and time of resource usage. The format for using such services is called “infrastructure as a service” (IaaS). Virtualization technology may be used on a computer to run one or more virtual machines per user to simplify billing management and separation of processing between users.
A method has been proposed to increase computing devices allocated to users and to update billing information when comparing a user service level contract and computer CPU utilization rate in a data center when the service level is not reached. There has also been proposed a method of presetting an upper threshold and a lower threshold for loads in a system that divides physical resources into logical partitions (LPAR) and allocates the LPARs to users. There has further been proposed a method of increasing resource allocations when the load exceeds the upper threshold and returning the amount of the increased resources to an initial value when the load falls below the lower threshold.
(See Japanese Laid-Open Patent Publication No. 2002-24192, and Japanese Laid-Open Patent Publication No. 2002-202959 (paragraph 0075).)
However, one problem is how to find the best way to control the amount of resources allocated when loads on virtual machines increase. For example, a user may desire the resources to be appropriately allocated in conjunction with the increase in load. On the other hand, another user may desire that fees do not become too high in a service usage format in which billing is conducted according to the amount of resources allocated.